home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / dlarzt.z / dlarzt
Encoding:
Text File  |  2002-10-03  |  6.3 KB  |  199 lines

  1.  
  2.  
  3.  
  4. DDDDLLLLAAAARRRRZZZZTTTT((((3333SSSS))))                                                          DDDDLLLLAAAARRRRZZZZTTTT((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DLARZT - form the triangular factor T of a real block reflector H of
  10.      order > n, which is defined as a product of k elementary reflectors
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DLARZT( DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT )
  14.  
  15.          CHARACTER      DIRECT, STOREV
  16.  
  17.          INTEGER        K, LDT, LDV, N
  18.  
  19.          DOUBLE         PRECISION T( LDT, * ), TAU( * ), V( LDV, * )
  20.  
  21. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  22.      These routines are part of the SCSL Scientific Library and can be loaded
  23.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  24.      directs the linker to use the multi-processor version of the library.
  25.  
  26.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  27.      4 bytes (32 bits). Another version of SCSL is available in which integers
  28.      are 8 bytes (64 bits).  This version allows the user access to larger
  29.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  30.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  31.      only one of the two versions; 4-byte integer and 8-byte integer library
  32.      calls cannot be mixed.
  33.  
  34. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  35.      DLARZT forms the triangular factor T of a real block reflector H of order
  36.      > n, which is defined as a product of k elementary reflectors. If DIRECT
  37.      = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular;
  38.  
  39.      If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular.
  40.  
  41.      If STOREV = 'C', the vector which defines the elementary reflector H(i)
  42.      is stored in the i-th column of the array V, and
  43.  
  44.         H  =  I - V * T * V'
  45.  
  46.      If STOREV = 'R', the vector which defines the elementary reflector H(i)
  47.      is stored in the i-th row of the array V, and
  48.  
  49.         H  =  I - V' * T * V
  50.  
  51.      Currently, only STOREV = 'R' and DIRECT = 'B' are supported.
  52.  
  53.  
  54. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  55.      DIRECT  (input) CHARACTER*1
  56.              Specifies the order in which the elementary reflectors are
  57.              multiplied to form the block reflector:
  58.              = 'F': H = H(1) H(2) . . . H(k) (Forward, not supported yet)
  59.              = 'B': H = H(k) . . . H(2) H(1) (Backward)
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDLLLLAAAARRRRZZZZTTTT((((3333SSSS))))                                                          DDDDLLLLAAAARRRRZZZZTTTT((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      STOREV  (input) CHARACTER*1
  75.              Specifies how the vectors which define the elementary reflectors
  76.              are stored (see also Further Details):
  77.              = 'R': rowwise
  78.  
  79.      N       (input) INTEGER
  80.              The order of the block reflector H. N >= 0.
  81.  
  82.      K       (input) INTEGER
  83.              The order of the triangular factor T (= the number of elementary
  84.              reflectors). K >= 1.
  85.  
  86.      V       (input/output) DOUBLE PRECISION array, dimension
  87.              (LDV,K) if STOREV = 'C' (LDV,N) if STOREV = 'R' The matrix V. See
  88.              further details.
  89.  
  90.      LDV     (input) INTEGER
  91.              The leading dimension of the array V.  If STOREV = 'C', LDV >=
  92.              max(1,N); if STOREV = 'R', LDV >= K.
  93.  
  94.      TAU     (input) DOUBLE PRECISION array, dimension (K)
  95.              TAU(i) must contain the scalar factor of the elementary reflector
  96.              H(i).
  97.  
  98.      T       (output) DOUBLE PRECISION array, dimension (LDT,K)
  99.              The k by k triangular factor T of the block reflector.  If DIRECT
  100.              = 'F', T is upper triangular; if DIRECT = 'B', T is lower
  101.              triangular. The rest of the array is not used.
  102.  
  103.      LDT     (input) INTEGER
  104.              The leading dimension of the array T. LDT >= K.
  105.  
  106. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  107.      Based on contributions by
  108.        A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
  109.  
  110.      The shape of the matrix V and the storage of the vectors which define the
  111.      H(i) is best illustrated by the following example with n = 5 and k = 3.
  112.      The elements equal to 1 are not stored; the corresponding array elements
  113.      are modified but restored on exit. The rest of the array is not used.
  114.  
  115.      DIRECT = 'F' and STOREV = 'C':         DIRECT = 'F' and STOREV = 'R':
  116.  
  117.                                                  ______V_____
  118.             ( v1 v2 v3 )                        /                   ( v1 v2 v3
  119.      )                      ( v1 v1 v1 v1 v1 . . . . 1 )
  120.         V = ( v1 v2 v3 )                      ( v2 v2 v2 v2 v2 . . . 1   )
  121.             ( v1 v2 v3 )                      ( v3 v3 v3 v3 v3 . . 1     )
  122.             ( v1 v2 v3 )
  123.                .  .  .
  124.                .  .  .
  125.                1  .  .
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. DDDDLLLLAAAARRRRZZZZTTTT((((3333SSSS))))                                                          DDDDLLLLAAAARRRRZZZZTTTT((((3333SSSS))))
  137.  
  138.  
  139.  
  140.                   1  .
  141.                      1
  142.  
  143.      DIRECT = 'B' and STOREV = 'C':         DIRECT = 'B' and STOREV = 'R':
  144.  
  145.                                                            ______V_____
  146.                1                                          /
  147.      .  1                           ( 1 . . . . v1 v1 v1 v1 v1 )
  148.                .  .  1                        ( . 1 . . . v2 v2 v2 v2 v2 )
  149.                .  .  .                        ( . . 1 . . v3 v3 v3 v3 v3 )
  150.                .  .  .
  151.             ( v1 v2 v3 )
  152.             ( v1 v2 v3 )
  153.         V = ( v1 v2 v3 )
  154.             ( v1 v2 v3 )
  155.             ( v1 v2 v3 )
  156.  
  157.  
  158. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  159.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  160.  
  161.      This man page is available only online.
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.